package com.genius.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;

import com.genius.util.DateUtil;

/**
 * Batch Model Class
 * 
 * @author Manish R [manish_rathi2001@yahoo.com]
 * @version 1.0
 */
public class Batch implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 4797195989931171063L;
    
	protected String id;
	protected Date startDate;
	protected Date endDate;
    protected String startDateStr;
    protected String endDateStr;
    
	protected int level;
	protected boolean activeFlag;
	protected String ciName;
    protected String remarks;

    protected String startTime;
    protected String endTime;
    
    protected String dayOfWeek;
    
    protected List students = null;
    
    
	
	/**
	 * @return the endTime
	 */
	public String getEndTime() {
		return endTime;
	}
	/**
	 * @param endTime the endTime to set
	 */
	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}
	/**
	 * @return the startTime
	 */
	public String getStartTime() {
		return startTime;
	}
	/**
	 * @param startTime the startTime to set
	 */
	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}
	/**
	 * @return the students
	 */
	public List getStudents() {
		return students;
	}
	/**
	 * @param students the students to set
	 */
	public void setStudents(List students) {
		this.students = students;
	}
	/**
	 * @return Returns the activeFlag.
	 */
	public boolean isActiveFlag() {
		return this.activeFlag;
	}
	/**
	 * @param activeFlag The activeFlag to set.
	 */
	public void setActiveFlag(boolean activeFlag) {
		this.activeFlag = activeFlag;
	}
	/**
	 * @return Returns the endDate.
	 */
	public Date getEndDate() {
		return endDate;
	}
	/**
	 * @param endDate The endDate to set.
	 */
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	/**
	 * @return Returns the id.
	 */
	public String getId() {
		return id;
	}
	/**
	 * @param id The id to set.
	 */
	public void setId(String id) {
		this.id = id;
	}
	/**
	 * @return Returns the level.
	 */
	public int getLevel() {
		return level;
	}
	/**
	 * @param level The level to set.
	 */
	public void setLevel(int level) {
		this.level = level;
	}
	/**
	 * @return Returns the startDate.
	 */
	public Date getStartDate() {
		return startDate;
	}
	/**
	 * @param startDate The startDate to set.
	 */
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	public String getCiName() {
		return ciName;
	}
	public void setCiName(String ciName) {
		this.ciName = ciName;
	}
    /**
     * @return Returns the startDateStr.
     */
    public String getStartDateStr()
    {
        return DateUtil.dateToString(this.getStartDate());
    }
    /**
     * @param startDateStr The startDateStr to set.
     */
    public void setStartDateStr(String value)
    {
        this.startDate = DateUtil.stringToDate(value);
    }
    /**
     * @return Returns the endDateStr.
     */
    public String getEndDateStr()
    {
        return DateUtil.dateToString(this.getEndDate());
    }
    /**
     * @param endDateStr The endDateStr to set.
     */
    public void setEndDateStr(String value)
    {
        this.endDate = DateUtil.stringToDate(value);
    }
    /**
     * @return Returns the remark.
     */
    public String getRemarks()
    {
        return remarks;
    }
    /**
     * @param remark The remark to set.
     */
    public void setRemarks(String value)
    {
        this.remarks = value;
    }
    
    public int getStudentCount() {
    	int size = 0;
    	if(students != null) {
    		size =  students.size();
    	}
    	return size;
    }
    /**
     * @return Returns the dayOfWeek.
     */
    public String getDayOfWeek()
    {
        return dayOfWeek;
    }
    /**
     * @param dayOfWeek The dayOfWeek to set.
     */
    public void setDayOfWeek(String dayOfWeek)
    {
        this.dayOfWeek = dayOfWeek;
    }
}
